# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/mtd/partitions/linksys,ns-partitions.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Linksys Northstar partitioning

description: |
  Linksys devices based on Broadcom Northstar architecture often use two
  firmware partitions. One is used for regular booting, the other is treated as
  fallback.

  This binding allows defining all fixed partitions and marking those containing
  firmware. System can use that information e.g. for booting or flashing
  purposes.

maintainers:
  - Rafał Miłecki <rafal@milecki.pl>

select: false

properties:
  compatible:
    const: linksys,ns-partitions

  "#address-cells":
    enum: [ 1, 2 ]

  "#size-cells":
    enum: [ 1, 2 ]

patternProperties:
  "^partition@[0-9a-f]+$":
    $ref: "partition.yaml#"
    properties:
      compatible:
        items:
          - const: linksys,ns-firmware
          - const: brcm,trx
    unevaluatedProperties: false

required:
  - "#address-cells"
  - "#size-cells"

additionalProperties: false

examples:
  - |
    partitions {
        compatible = "linksys,ns-partitions";
        #address-cells = <1>;
        #size-cells = <1>;

        partition@0 {
            label = "boot";
            reg = <0x0 0x100000>;
            read-only;
        };

        partition@100000 {
            label = "nvram";
            reg = <0x100000 0x100000>;
        };

        partition@200000 {
            compatible = "linksys,ns-firmware", "brcm,trx";
            reg = <0x200000 0xf00000>;
        };

        partition@1100000 {
            compatible = "linksys,ns-firmware", "brcm,trx";
            reg = <0x1100000 0xf00000>;
        };
    };
